
var myProxy='http://localhost/proxy.php';
var action="commencer";
var jeu ="";
var id="";
var cheat=1;
var nbtour;
var nbplace;
var nbnonplace;
var msgconvi="";
var jeu = "";
var soluce="";


function commencerJeu(){
	//on va recupérer la "tricherie" à chaque fois pour nous aider
	cheat=1;
	var url="http://studio11.hyperhorizon.net/lp/master/game.php&action=commencer&cheat="+cheat;
	$.ajax({
        type: "GET",
        url: myProxy,
		data: "url="+url,
        dataType: "text",
        success: function(msg) {
		msg=msg.split("#");
		id=msg[0];
		msgconvi=msg[4];
		$("#resultat").html("<p>votre identifiant est :<br/>"+id+"<br/>"+msgconvi+"</p>");
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
		  // typically only one of textStatus or errorThrown 
		  // will have info
		  //this; // the options for this ajax request
		  alert ('Erreur ' + textStatus + ' ' + errorThrown);
		}

    });

}

function jouer(jeu){
	var url="http://studio11.hyperhorizon.net/lp/master/game.php";
	action="jouer";
	$.ajax({
        type: "GET",
        url: myProxy,
		data: "url=" + url + "&" + "action=" + action + "&jeu="+jeu+"&id="+id+"&cheat="+cheat,
        dataType: "text",
        success: function(msg) {
		msg=msg.split("#");
		nbtour=msg[1];
		nbplace=msg[2];
		nbnonplace=msg[3];
		msgconvi=msg[4];
		soluce=msg[5];
		$("#resultat").html("<p>numero du tour : "+nbtour+"<br/>nombre de couleurs placées : "
		+nbplace+"<br/>nombre de couleur non placées : "+nbnonplace+"<br/>  "+msgconvi
		+"<br/> la solution est :"+soluce+"</p>");
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
		  // typically only one of textStatus or errorThrown 
		  // will have info
		  //this; // the options for this ajax request
		  alert ('Erreur ' + textStatus + ' ' + errorThrown);
		}

    });

}

function soumettreServeur(){
	
}

function getImgResultat(){
	// renvoie une balise img avec comme src l'image resultat correspondant au resultat recu pour les pions joues
	//a faire
	return '<img src="images/r0_0.gif"/>';
}

function valeursJouees(ligneCourante){
	//variable qui va contenir le code couleur a envoyer au serveur :
	var codeAjouer = "";
	//on recupere le code couleur correspondant a la couleur jouee en case 1 :
	var codeLigne = $("#"+ligneCourante+"a").html();
	if ((codeLigne.lastIndexOf('play_green.gif'))!=-1) {
		codeAjouer += 'g';
	} else if ((codeLigne.lastIndexOf('play_blue.gif'))!=-1) {
		codeAjouer += 'b';
	} else if ((codeLigne.lastIndexOf('play_red.gif'))!=-1) {
		codeAjouer += 'r';
	} else if ((codeLigne.lastIndexOf('play_yellow.gif'))!=-1) {
		codeAjouer += 'y';
	} else if ((codeLigne.lastIndexOf('play_purple.gif'))!=-1) {
		codeAjouer += 'p';
	} else if ((codeLigne.lastIndexOf('play_white.gif'))!=-1) {
		codeAjouer += 'w';
	} else if ((codeLigne.lastIndexOf('play_orange.gif'))!=-1) {
		codeAjouer += 'o';
	} else if ((codeLigne.lastIndexOf('play_fushia.gif'))!=-1) {
		codeAjouer += 'f';
	}
	//on recupere le code couleur correspondant a la couleur jouee en case 2 :
	var codeLigne = $("#"+ligneCourante+"b").html();
	if ((codeLigne.lastIndexOf('play_green.gif'))!=-1) {
		codeAjouer += 'g';
	} else if ((codeLigne.lastIndexOf('play_blue.gif'))!=-1) {
		codeAjouer += 'b';
	} else if ((codeLigne.lastIndexOf('play_red.gif'))!=-1) {
		codeAjouer += 'r';
	} else if ((codeLigne.lastIndexOf('play_yellow.gif'))!=-1) {
		codeAjouer += 'y';
	} else if ((codeLigne.lastIndexOf('play_purple.gif'))!=-1) {
		codeAjouer += 'p';
	} else if ((codeLigne.lastIndexOf('play_white.gif'))!=-1) {
		codeAjouer += 'w';
	} else if ((codeLigne.lastIndexOf('play_orange.gif'))!=-1) {
		codeAjouer += 'o';
	} else if ((codeLigne.lastIndexOf('play_fushia.gif'))!=-1) {
		codeAjouer += 'f';
	}
	//on recupere le code couleur correspondant a la couleur jouee en case 3 :
	var codeLigne = $("#"+ligneCourante+"c").html();
	if ((codeLigne.lastIndexOf('play_green.gif'))!=-1) {
		codeAjouer += 'g';
	} else if ((codeLigne.lastIndexOf('play_blue.gif'))!=-1) {
		codeAjouer += 'b';
	} else if ((codeLigne.lastIndexOf('play_red.gif'))!=-1) {
		codeAjouer += 'r';
	} else if ((codeLigne.lastIndexOf('play_yellow.gif'))!=-1) {
		codeAjouer += 'y';
	} else if ((codeLigne.lastIndexOf('play_purple.gif'))!=-1) {
		codeAjouer += 'p';
	} else if ((codeLigne.lastIndexOf('play_white.gif'))!=-1) {
		codeAjouer += 'w';
	} else if ((codeLigne.lastIndexOf('play_orange.gif'))!=-1) {
		codeAjouer += 'o';
	} else if ((codeLigne.lastIndexOf('play_fushia.gif'))!=-1) {
		codeAjouer += 'f';
	}
	//on recupere le code couleur correspondant a la couleur jouee en case 4 :
	var codeLigne = $("#"+ligneCourante+"d").html();
	if ((codeLigne.lastIndexOf('play_green.gif'))!=-1) {
		codeAjouer += 'g';
	} else if ((codeLigne.lastIndexOf('play_blue.gif'))!=-1) {
		codeAjouer += 'b';
	} else if ((codeLigne.lastIndexOf('play_red.gif'))!=-1) {
		codeAjouer += 'r';
	} else if ((codeLigne.lastIndexOf('play_yellow.gif'))!=-1) {
		codeAjouer += 'y';
	} else if ((codeLigne.lastIndexOf('play_purple.gif'))!=-1) {
		codeAjouer += 'p';
	} else if ((codeLigne.lastIndexOf('play_white.gif'))!=-1) {
		codeAjouer += 'w';
	} else if ((codeLigne.lastIndexOf('play_orange.gif'))!=-1) {
		codeAjouer += 'o';
	} else if ((codeLigne.lastIndexOf('play_fushia.gif'))!=-1) {
		codeAjouer += 'f';
	}
	return codeAjouer;
}

function surDrop(drag,drop,ancienneLigne){

	//fontion de recupération du drag and drop 
	
	
	//si aucun n'a deja ete place la, on incremente la variable contenant le nombre de pions places :
	var img = $("#"+drop).html();
	if (img.lastIndexOf('boardunit.gif')!=-1) {
		pionsPlaces++;
	}
	
	//traitement de la couleur du pion droppe :
	if(drag=="vert"){
	$("#"+drop).html('<img src="images/play_green.gif"/>');
	}
	else if(drag=="blue"){
		$("#"+drop).html('<img src="images/play_blue.gif"/>');
	}
	else if(drag=="red"){
		$("#"+drop).html('<img src="images/play_red.gif"/>');
	}
	else if(drag=="yellow"){
		$("#"+drop).html('<img src="images/play_yellow.gif"/>');
	}
	else if(drag=="purple"){
		$("#"+drop).html('<img src="images/play_purple.gif"/>');
	}
	else if(drag=="white"){
		$("#"+drop).html('<img src="images/play_white.gif"/>');
	}
	else if(drag=="orange"){
		$("#"+drop).html('<img src="images/play_orange.gif"/>');
	}
	else if(drag=="fushia"){
		$("#"+drop).html('<img src="images/play_fushia.gif"/>');
	}
	//on remet les pions à leur place
	$("#pions").html('<img id="vert" src="images/pick_green.gif"/>'
			+'<img id="blue" src="images/pick_blue.gif"/>'
			+'<img id="orange" src="images/pick_orange.gif"/>'
			+'<img id="white" src="images/pick_white.gif"/>'
			+'<img id="red" src="images/pick_red.gif"/>'
			+'<img id="yellow" src="images/pick_yellow.gif"/>'
			+'<img id="purple" src="images/pick_purple.gif"/>'
			+'<img id="fushia" src="images/pick_fushia.gif"/>'
			+'<script type="text/javascript">'
			+'$("#red").draggable({revert:true});'
			+'$("#red").draggable(\'invalid\', \'revert\', true);'
			+'$("#blue").draggable({revert:true});'
			+'$("#blue").draggable(\'invalid\', \'revert\', true);'
			+'$("#vert").draggable({revert:true});'
			+'$("#vert").draggable(\'invalid\', \'revert\', true);'
			+'$("#orange").draggable({revert:true});'
			+'$("#orange").draggable(\'invalid\', \'revert\', true);'
			+'$("#white").draggable({revert:true});'
			+'$("#white").draggable(\'invalid\', \'revert\', true);'
			+'$("#yellow").draggable({revert:true});'
			+'$("#yellow").draggable(\'invalid\', \'revert\', true);'
			+'$("#purple").draggable({revert:true});'
			+'$("#purple").draggable(\'invalid\', \'revert\', true);'
			+'$("#fushia").draggable({revert:true});'
			+'$("#fushia").draggable(\'invalid\', \'revert\', true);'
		    +'</script>'
		    + '<br/><input type="submit" value="soumettre" onclick="nouvelleLigne('+ancienneLigne+')" />');		
}

function nouvelleLigne(ancienneLigne){
	//on verifie que 4 pions ont bien ete places sinon on affichera un message :
	if (pionsPlaces==4) {
		//on met le nombre de pions placés à zéro :
		pionsPlaces=0;
		//var jeu = valeursJouees(ancienneLigne);
		jeu="azer";
		
		jouer(jeu);
		//on rend la ligne precedente non droppable :
		$("#"+ancienneLigne+"a").droppable('destroy');
		$("#"+ancienneLigne+"b").droppable('destroy');
		$("#"+ancienneLigne+"c").droppable('destroy');
		$("#"+ancienneLigne+"d").droppable('destroy');
		
		//on recupere le numero de la ligne suivante :
		var ligneSuivante = (ligneCourante+1);
		
		//on recupere l'image correspondant au resultat envoye par le serveur (pions places et pions non places) :
		var imgResultat = getImgResultat();	
		
		//on recupere le code des lignes deja finies et on y ajoute le code de la ligne courante :
		codeLignesFinies = ('<tr id='+ligneCourante+'>'
			+$("#"+ligneCourante).html().replace('<img src="images/r0_0.gif"/>', imgResultat)
			+'</tr>')
			+codeLignesFinies;
		
		//on cree un variable qui va contenir le 
		var htmlMastermind = '<table id="mastermind">';
		
		var i=12;
		while (i>ligneSuivante) {
			htmlMastermind += ('<tr id='+i+'>'
				+'<td id="'+i+'a"><img src="images/boardunitoff.gif"/></td>'
				+'<td id="'+i+'b"><img src="images/boardunitoff.gif"/></td>'
				+'<td id="'+i+'c"><img src="images/boardunitoff.gif"/></td>'
				+'<td id="'+i+'d"><img src="images/boardunitoff.gif"/></td>'
				+'<td id="'+i+'e"><img src="images/r0_0.gif"/></td>'
				+'</tr>');
			i--;
		}
		htmlMastermind += ('<tr id='+i+'>'
			+'<td id="'+i+'a"><img src="images/boardunit.gif"/></td>'
			+'<td id="'+i+'b"><img src="images/boardunit.gif"/></td>'
			+'<td id="'+i+'c"><img src="images/boardunit.gif"/></td>'
			+'<td id="'+i+'d"><img src="images/boardunit.gif"/></td>'
			+'<td id="'+i+'e"><img src="images/r0_0.gif"/></td>'
			+'</tr>');
		
		htmlMastermind += (codeLignesFinies);
					
		htmlMastermind += ('</table>');
				
		$("#plateau").html(htmlMastermind);
		
		//on rend les cases de la ligne suivante droppables :
		$("#"+ligneSuivante+"a").droppable({
			drop: function(event, ui) {
			// je peux recuperer l'id du dragable et l'id du droppable
				surDrop(ui.draggable.attr("id"),this.id,this.parentNode.id);
			}
		});
			
		$("#"+ligneSuivante+"b").droppable({
			drop: function(event, ui) {
			// je peux recuperer l'id du dragable et l'id du droppable
				surDrop(ui.draggable.attr("id"),this.id,this.parentNode.id);
			}
		});
		
		$("#"+ligneSuivante+"c").droppable({
			drop: function(event, ui) {
			// je peux recuperer l'id du dragable et l'id du droppable
				surDrop(ui.draggable.attr("id"),this.id,this.parentNode.id);
			}
		});
			
		$("#"+ligneSuivante+"d").droppable({
			drop: function(event, ui) {
			// je peux recuperer l'id du dragable et l'id du droppable
				surDrop(ui.draggable.attr("id"),this.id,this.parentNode.id);
			}
		});
		
		//on incremente le numero de la ligne courante :
		ligneCourante++;
	} else {
		alert("Vous devez placer 4 pions pour tenter votre chance !");
	}
}
